#ifndef NAVIGATIONEDGE_H_
#define NAVIGATIONEDGE_H_
#include "Object.h"

class CharacterObject;
class NavigationEdge : public Object
{
	Vertex * rightEndpoint;
	Vertex * leftEndpoint;
	CharacterObject * parent;
	public:
		NavigationEdge( TextureManager * textureManager,Vertex * rightEndpoint, Vertex * leftEndpoint);
		NavigationEdge(	TextureManager * textureManager,Vertex * rightEndpoint, Vertex * leftEndpoint, char * rightToLeft,
						char * leftToRight, char ** behaviorTags, int numTags);
		virtual ~NavigationEdge();
		virtual void AddVertex(Vertex * vertex);
		virtual void AddVertexBefore(Vertex * vertex, Vertex * before);
		virtual void RemoveVertex(Vertex * vertex);
		virtual bool CheckObjectHover(Mouse * mouse);
		virtual void CreatePropertyMenu();
		Vertex * GetRightEndpoint();
		Vertex * GetLeftEndpoint();
		virtual Vector2D GetRotationPoint();
		virtual void ViewProperties();
		virtual void HideProperties();
		void SetParent(CharacterObject * parent);
		virtual char * GetTag();
		void AddLeftEdge(Vertex * endpoint);
		void AddRightEdge(Vertex * endpoint);
		virtual Object * GetParent();
};
#endif /*NAVIGATIONEDGE_H_*/
